﻿namespace HuwmanCode.Net

open System
open System.IO
open System.Net
open System.Diagnostics

type internal FtpCommand =
| [<DebuggerDisplay("Abort a file transfer")>]
  ABOR
| [<DebuggerDisplay("Change working directory")>]
  CWD of string
| [<DebuggerDisplay("Delete a remote file")>]
  DELE of string
| [<DebuggerDisplay("List remote files")>]
  LIST of string
| [<DebuggerDisplay("Return the modification time of a file")>]
  MDTM of string
| [<DebuggerDisplay("Make a remote directory")>]
  MKD of string
| [<DebuggerDisplay("Name list of remote directory")>]
  NLST of string
| [<DebuggerDisplay("Send password")>]
  PASS of string
| [<DebuggerDisplay("Enter passive mode")>]
  PASV
| [<DebuggerDisplay("Open a data port")>]
  PORT of IPAddress * int
| [<DebuggerDisplay("Print working directory")>]
  PWD
| [<DebuggerDisplay("Terminate the connection")>]
  QUIT
| [<DebuggerDisplay("Retrieve a remote file")>]
  RETR of string
| [<DebuggerDisplay("Remove a remote directory")>]
  RMD of string
| [<DebuggerDisplay("Rename from")>]
  RNFR of string
| [<DebuggerDisplay("Rename to")>]
  RNTO of string
| [<DebuggerDisplay("Site-specific commands")>]
  SITE of string
| [<DebuggerDisplay("Return the size of a file")>]
  SIZE of string
| [<DebuggerDisplay("Store a file on the remote host")>]
  STOR of string
| [<DebuggerDisplay("Set transfer type")>]
  TYPE
| [<DebuggerDisplay("Send username")>]
  USER of string